home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / mach / task_special_ports.h < prev    next >
C/C++ Source or Header  |  1995-02-14  |  3KB  |  110 lines

  1. /* 
  2.  * Mach Operating System
  3.  * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
  4.  * All Rights Reserved.
  5.  * 
  6.  * Permission to use, copy, modify and distribute this software and its
  7.  * documentation is hereby granted, provided that both the copyright
  8.  * notice and this permission notice appear in all copies of the
  9.  * software, derivative works or modified versions, and any portions
  10.  * thereof, and that both notices appear in supporting documentation.
  11.  * 
  12.  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  13.  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
  14.  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  15.  * 
  16.  * Carnegie Mellon requests users of this software to return to
  17.  * 
  18.  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
  19.  *  School of Computer Science
  20.  *  Carnegie Mellon University
  21.  *  Pittsburgh PA 15213-3890
  22.  * 
  23.  * any improvements or extensions that they make and grant Carnegie Mellon
  24.  * the rights to redistribute these changes.
  25.  */
  26. /*
  27.  * HISTORY
  28.  * $Log:    task_special_ports.h,v $
  29.  * Revision 2.6  93/01/14  17:47:53  danner
  30.  *     Cleanup.
  31.  *     [92/06/10            pds]
  32.  * 
  33.  * Revision 2.5  92/01/15  13:44:54  rpd
  34.  *     Changed MACH_IPC_COMPAT conditionals to default to not present.
  35.  * 
  36.  * Revision 2.4  91/05/14  17:00:57  mrt
  37.  *     Correcting copyright
  38.  * 
  39.  * Revision 2.3  91/02/05  17:36:29  mrt
  40.  *     Changed to new Mach copyright
  41.  *     [91/02/01  17:21:29  mrt]
  42.  * 
  43.  * Revision 2.2  90/06/02  15:00:03  rpd
  44.  *     Converted to new IPC.
  45.  *     [90/03/26  22:40:08  rpd]
  46.  * 
  47.  * Revision 2.1  89/08/03  16:06:01  rwd
  48.  * Created.
  49.  * 
  50.  * Revision 2.3  89/02/25  18:41:12  gm0w
  51.  *     Changes for cleanup.
  52.  * 
  53.  * 17-Jan-88  David Golub (dbg) at Carnegie-Mellon University
  54.  *    Created.
  55.  *
  56.  */
  57. /*
  58.  *    File:    mach/task_special_ports.h
  59.  *
  60.  *    Defines codes for special_purpose task ports.  These are NOT
  61.  *    port identifiers - they are only used for the task_get_special_port
  62.  *    and task_set_special_port routines.
  63.  *    
  64.  */
  65.  
  66. #ifndef    _MACH_TASK_SPECIAL_PORTS_H_
  67. #define _MACH_TASK_SPECIAL_PORTS_H_
  68.  
  69. #define TASK_KERNEL_PORT    1    /* Represents task to the outside
  70.                        world.*/
  71. #define TASK_EXCEPTION_PORT    3    /* Exception messages for task are
  72.                        sent to this port. */
  73. #define TASK_BOOTSTRAP_PORT    4    /* Bootstrap environment for task. */
  74.  
  75. /*
  76.  *    Definitions for ease of use
  77.  */
  78.  
  79. #define task_get_kernel_port(task, port)    \
  80.         (task_get_special_port((task), TASK_KERNEL_PORT, (port)))
  81.  
  82. #define task_set_kernel_port(task, port)    \
  83.         (task_set_special_port((task), TASK_KERNEL_PORT, (port)))
  84.  
  85. #define task_get_exception_port(task, port)    \
  86.         (task_get_special_port((task), TASK_EXCEPTION_PORT, (port)))
  87.  
  88. #define task_set_exception_port(task, port)    \
  89.         (task_set_special_port((task), TASK_EXCEPTION_PORT, (port)))
  90.  
  91. #define task_get_bootstrap_port(task, port)    \
  92.         (task_get_special_port((task), TASK_BOOTSTRAP_PORT, (port)))
  93.  
  94. #define task_set_bootstrap_port(task, port)    \
  95.         (task_set_special_port((task), TASK_BOOTSTRAP_PORT, (port)))
  96.  
  97.  
  98. /* Definitions for the old IPC interface. */
  99.  
  100. #define TASK_NOTIFY_PORT    2    /* Task receives kernel IPC
  101.                        notifications here. */
  102.  
  103. #define task_get_notify_port(task, port)    \
  104.         (task_get_special_port((task), TASK_NOTIFY_PORT, (port)))
  105.  
  106. #define task_set_notify_port(task, port)    \
  107.         (task_set_special_port((task), TASK_NOTIFY_PORT, (port)))
  108.  
  109. #endif    /* _MACH_TASK_SPECIAL_PORTS_H_ */
  110.